(1) Field of the Invention
The present invention generally relates to a signal processing apparatus having at least one neural network, and more particularly to a signal processing circuit suitable for various control procedures, such as a position control procedure for a robot, a temperature control procedure for an air conditioner, an orbit control procedure for a rocket, and so on.
(2) Description of the Prior Art
Recently, there has been considerable research and development activity concerning systems that approximate the functions of neurons which are basic units in a living body, particularly, in the fields of character recognition, motion control and associative storage. A neural network includes a plurality of such neurons which are coupled in the form of a hierarchical network structure and intends to process information in parallel. Various neural networks realized by computer simulation have been reported. However, computer simulation necessitate handling of an extremely large amount of information. Hence, it is necessary to realize neural networks by means of hardware. For this requirement, various hardware neural networks have been researched and developed. However, many of the neural networks are realized by conventional Neumann computers and software.
Japanese Laid-Open Patent Application 2-201607 attempts an application of neural networks to unknown or complex control systems by means of hardware or software. FIG. 1 shows the proposed application of neural networks. A control system shown in FIG. 1 executes identification and control processes with respect to a controlled object 1, and makes an output of the controlled object 1 be always equal to a target value.
The control system is composed of a control unit 2, an identification unit 3, a learning unit 4, a subtracter 4a, and an input/output memory 5. The control unit 2 includes a neural network 2a, and the identification unit 3 includes a neural network 3a. The neural network 2a executes an operation on an internal signal that includes, as components, a past control input u(t) and a control output y(t-d). The control unit 2 generates the control input from the results of the above operation and a target value. The neural network 3a executes an operation on the internal signal, and the identification unit 3 generates an identification value from the results of this operation and the control output. The learning unit 4 calculates the difference (error) between the control unit (which serves as a teaching signal) and the identification value, and generates weighting factors based on the difference. The input/output memory 5 stores the control input u(t) and the control output y(t-d). Information read out from the input/output memory 5 is output, as the internal signal, to the neural networks 2a and 3a.
When the controlled object 1 is a system in which the input of the system varies with time, a variety of input and output information is prepared and stored, and then the neural networks 2a and 2b are made to learn by using the input and output information. These procedures are very complex. Further, a large-scale system having a computer and a memory is needed to make the neural networks 2a and 2b learn. Moreover, if the condition of the controlled object 1 changes, it is necessary to provide input and output information and make the neural networks 2a and 3a learn again. This procedure is very troublesome and prevents practical use of the signal processing apparatus using the neural network system.